package com.study.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.study.dao.entity.TGroup;
import com.study.dto.req.ShortLinkGroupSaveReqDTO;
import com.study.dto.req.ShortLinkGroupSortReqDTO;
import com.study.dto.req.ShortLinkGroupUpdateReqDTO;
import com.study.dto.resp.ShortLinkGroupRespDTO;

import java.util.List;

/**
 * @author canace
 * @version 1.0
 * @description 短链接分组接口层
 * @date 2024/1/23 19:45
 */
public interface GroupService extends IService<TGroup> {
    /**
     * 新增短链接分组
     *
     * @param shortLinkGroupSaveReqDTO 分组信息对象
     */
    void addGroup(ShortLinkGroupSaveReqDTO shortLinkGroupSaveReqDTO);

    /**
     * 获取当前用户的短链接分组列表
     *
     * @return 分组列表
     */
    List<ShortLinkGroupRespDTO> getShortLinkGroupList();

    /**
     * 更新短链接分组名字
     *
     * @param shortLinkGroupUpdateReqDTO 更新请求参数
     */
    void updateShortLinkGroup(ShortLinkGroupUpdateReqDTO shortLinkGroupUpdateReqDTO);

    /**
     * 删除短链接分组
     *
     * @param gid 分组gid
     */
    void deleteShortLinkGroup(String gid);

    /**
     * 短链接分组排序
     *
     * @param shortLinkGroupSortReqDTO 排序请求参数
     */
    void sortShortLinkGroup(List<ShortLinkGroupSortReqDTO> shortLinkGroupSortReqDTO);
}
